package com.example.baseapp.service;

import com.example.baseapp.entity.OrderInfo;
import com.example.baseapp.entity.OrderDetail;
import com.example.baseapp.dto.OrderDetailDTO;
import java.util.List;
import java.util.Map;

public interface OrderService {
    // 创建订单
    OrderInfo createOrder(Long userId, String userName, String userPhone, String userAddress, String userDepartment, List<Map<String, Object>> items, String remark);
    
    // 支付订单
    OrderInfo payOrder(String orderNo, String paymentMethod);
    
    // 取消订单
    OrderInfo cancelOrder(String orderNo);
    
    // 获取用户订单列表
    List<OrderInfo> getUserOrders(Long userId);
    
    // 获取订单详情
    OrderDetailDTO getOrderDetail(String orderNo);
    
    // 根据订单ID获取订单详情
    OrderDetailDTO getOrderDetailById(Long orderId);
    
    // 根据订单号获取订单
    OrderInfo getOrderByOrderNo(String orderNo);
    
    // 根据订单ID获取订单
    OrderInfo getOrderById(Long orderId);
    
    // 获取订单明细
    List<OrderDetail> getOrderDetails(Long orderId);
    
    // 更新订单状态
    OrderInfo updateOrderStatus(String orderNo, String newStatus);
} 